package com.itany.corejava.code11_IO.File;

import java.io.File;
import java.io.FilenameFilter;

/**
 * @author 石小俊
 * 2024年07月26日 16:18
 */
public class Test06_文件过滤器 {

    public static void main(String[] args) {
        File file = new File("E:/test/a");
        // 方法返回值:过滤之后的文件
        String[] arr = file.list(new FilenameFilter() {
            /**
             * 定义文件过滤规则
             * @param dir   文件所在的目录
             * @param name  文件名,当前正在过滤的文件的名字
             * @return 是否保留
             */
            @Override
            public boolean accept(File dir, String name) {
                // 当方法返回值为true时,表示当前文件添加到返回值数组中
                // 当方法返回值为false时,表示当前文件不需要添加到返回值数组中

                // 需要返回java文件
                if (name.endsWith(".java")) {
                    return true;
                }
                // 需要返回pdf文件
                if (name.endsWith(".pdf")) {
                    return true;
                }
                // 需要返回png图片
                if (name.endsWith(".png")) {
                    return true;
                }
                return false;
            }
        });
        for (String s : arr) {
            System.out.println(s);
        }
    }

}
